Turn Python Code To Executable File Using PyInstaller   2018-09-19


Python 是個很方便的 Script language,非常適合拿來做簡單的自動化流程或是程式存取

但是要讓他在沒有安裝 python 下的環境執行就有點麻煩了,這時候就需要 PyInstaller 套件的幫助

Introduction

PyInstaller 是一個可以將 python 轉為 exe 的套件,當然這也不是唯一一個

其他還有 py2exe, cz_freeze 等等,但用起來都沒有 PyInstaller 來的簡單

Install

要使用 PyInstaller 一開始直接先用 pip 安裝

$ pip install pyinstaller

裝好了之後就可以直接在 command line 使用了

Usage

使用方法很簡單,就直接下

$ pyinstaller <your_code.py>

就會把編譯好的 exe 放到 dist 資料夾下

然後一些參數的介紹可以用

$ pyinstaller -h

比較常用的參數

  • -F: one file
  • -i <icon_path>: add icon

About dependency

我在用的時候把 pandas 整個包進來,結果程式出來的大小大概是 200 MB 左右 (用到 pandas 的地方只有簡單的讀 csv 跟 簡單的資料處理)

用了各種方法都壓不下來,像是把 import pandas 改成 from pandas import read_csv, Dataframe 或是建新的 python env (因為 StackOverflow 有人說是因為 anaconda 的關係)

最後就直接重寫,不包 pandas 。 大小就直接降到 9 MB

所以如果沒必要用到的套件就盡量不要包,不然就會多很多不必要的使用空間,也會降低執行速度


Contents

  1. Introduction
  2. Install
  3. Usage
  4. About dependency